home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Very Best of Atari Inside
/
The Very Best of Atari Inside 1.iso
/
mint
/
mint99s
/
quickzer.spp
< prev
next >
Wrap
Text File
|
1992-12-23
|
924b
|
39 lines
; Copyright 1992 Eric R. Smith
; All rights reserved
;
; quickzero(char *place, long size): zero an area of memory. "size" is
; the number of 256 byte blocks in the area, and must be > 0.
; registers changed: d0 and a0
;
TEXT
XDEF _quickzero
_quickzero:
move.l 4(sp),a0 ; place to zero at
move.l 8(sp),d0 ; number of blocks
movem.l d1-d7/a1,-(sp) ; save registers
moveq.l #0,d1 ; zero them out
moveq.l #0,d2
moveq.l #0,d3
moveq.l #0,d4
moveq.l #0,d5
moveq.l #0,d6
moveq.l #0,d7
move.l d1,a1
subq.l #1,d0 ; adjust for dbra loop
loop:
movem.l d1-d7/a1,(a0) ; zero the memory, 32 bytes at a time
movem.l d1-d7/a1,32(a0)
movem.l d1-d7/a1,64(a0)
movem.l d1-d7/a1,96(a0)
movem.l d1-d7/a1,128(a0)
movem.l d1-d7/a1,160(a0)
movem.l d1-d7/a1,192(a0)
movem.l d1-d7/a1,224(a0)
lea 256(a0),a0
dbra d0,loop
;
movem.l (sp)+,d1-d7/a1 ; restore regs
rts ; and leave
END